
<template>
	<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
	 width="423.000000pt" height="172.000000pt" viewBox="0 0 423.000000 172.000000"
	 preserveAspectRatio="xMidYMid meet" >
	<g transform="translate(0.000000,172.000000) scale(0.100000,-0.100000)"
	:fill="!!color?color:themeConfig.primary" stroke="none" >
	<path d="M210 1603 c-8 -3 -23 -12 -32 -21 -17 -14 -18 -44 -18 -370 0 -326 1
	-356 18 -368 25 -19 238 -19 258 0 11 12 14 74 16 333 l3 318 43 -135 c24 -74
	52 -164 62 -200 11 -36 38 -125 60 -198 l41 -133 77 3 76 3 52 165 c52 166 83
	269 126 412 13 43 26 78 31 78 4 0 7 -143 7 -318 0 -234 3 -321 12 -330 8 -8
	51 -12 128 -12 77 0 120 4 128 12 9 9 12 106 12 375 l0 362 -31 16 c-25 13
	-60 16 -195 13 -148 -3 -165 -5 -183 -23 -17 -18 -98 -265 -105 -320 -1 -12
	-5 -25 -8 -30 -3 -6 -13 -40 -23 -77 -10 -38 -22 -68 -26 -68 -5 0 -16 26 -24
	58 -9 31 -22 77 -30 102 -7 25 -30 105 -51 179 -21 74 -46 143 -55 155 -16 20
	-28 21 -186 23 -92 1 -175 -1 -183 -4z" />
	<path d="M1722 1592 c-14 -11 -43 -67 -73 -142 -27 -69 -57 -139 -64 -156 -15
	-32 -75 -179 -145 -354 -21 -52 -36 -98 -34 -102 9 -14 257 -9 276 5 9 7 28
	39 43 70 l26 57 212 0 c117 0 217 -4 223 -8 6 -4 17 -24 25 -46 8 -21 24 -49
	36 -62 21 -23 28 -24 154 -24 l132 0 -7 32 c-3 18 -20 64 -38 103 -62 140 -68
	155 -68 162 -1 5 -9 26 -20 48 -11 22 -19 45 -20 51 0 6 -6 24 -14 40 -8 16
	-30 70 -51 119 -75 182 -92 212 -126 219 -17 3 -124 6 -238 6 -181 0 -209 -3
	-229 -18z m336 -306 c45 -112 82 -207 82 -210 0 -9 -338 -7 -344 2 -2 4 4 25
	14 47 16 36 119 285 141 343 5 12 12 22 17 22 5 0 46 -92 90 -204z"/>
	<path d="M2646 1589 l-26 -20 0 -358 0 -358 23 -12 c16 -8 151 -11 527 -9
	l505 3 3 27 c3 23 -3 29 -42 47 l-46 20 0 318 c0 175 -4 323 -8 329 -21 32
	-53 34 -480 34 -419 0 -430 0 -456 -21z m638 -95 c14 -5 16 -36 16 -240 l0
	-233 -42 15 c-22 8 -44 12 -47 8 -3 -3 -13 -26 -22 -52 l-16 -47 -129 0 -129
	0 -3 269 c-2 209 1 271 10 278 15 9 339 11 362 2z"/>
	<path d="M3796 1589 l-26 -20 0 -359 c0 -345 1 -360 19 -370 29 -15 232 -12
	254 4 16 12 17 42 17 369 l0 356 -26 20 c-23 18 -41 21 -119 21 -78 0 -96 -3
	-119 -21z"/>
	<path d="M779 550 c-1 -3 -1 -8 0 -12 0 -5 -15 -8 -34 -8 -24 0 -35 -5 -35
	-15 0 -12 17 -15 95 -15 95 0 95 0 95 -25 0 -25 0 -25 -95 -25 -78 0 -95 -3
	-95 -15 0 -12 17 -15 95 -15 95 0 95 0 95 -25 0 -25 0 -25 -94 -25 -74 0 -95
	-3 -100 -15 -4 -13 10 -15 95 -15 l100 0 -3 -27 -3 -28 -92 2 c-76 2 -93 0
	-93 -12 0 -12 14 -15 65 -15 36 0 65 -3 65 -6 0 -3 -8 -19 -17 -35 -15 -26
	-23 -29 -65 -29 -36 0 -48 -4 -48 -15 0 -12 16 -15 83 -15 45 0 87 4 93 8 6 4
	22 27 36 51 l26 43 18 -28 c43 -70 51 -74 141 -74 67 0 83 3 83 15 0 11 -12
	15 -50 15 -45 0 -51 3 -65 30 -8 16 -15 31 -15 35 0 3 29 5 65 5 45 0 65 4 65
	13 0 9 -23 12 -83 11 -100 0 -107 2 -107 32 0 24 1 24 95 24 78 0 95 3 95 15
	0 12 -17 15 -95 15 -95 0 -95 0 -95 25 0 25 0 25 95 25 78 0 95 3 95 15 0 12
	-17 15 -95 15 -95 0 -95 0 -95 25 0 25 0 25 95 25 78 0 95 3 95 15 0 10 -11
	15 -35 15 -22 0 -34 5 -32 12 3 18 -59 20 -73 3 -17 -21 -172 -21 -203 0 -21
	13 -66 17 -68 5z"/>
	<path d="M1378 552 c-10 -2 -18 -8 -18 -13 0 -5 -16 -9 -35 -9 -24 0 -35 -5
	-35 -15 0 -10 11 -15 35 -15 l35 0 0 -170 0 -170 35 0 35 0 0 170 0 170 35 0
	c24 0 35 5 35 15 0 10 -10 15 -34 15 -19 0 -36 5 -38 12 -4 12 -24 17 -50 10z"/>
	<path d="M1615 552 c-40 -2 -73 -8 -77 -15 -4 -7 -8 -90 -8 -184 0 -147 -2
	-173 -15 -173 -13 0 -15 23 -15 145 l0 145 -25 0 -26 0 3 -152 3 -153 75 0 75
	0 3 183 2 182 30 0 30 0 2 -182 3 -183 58 -3 c46 -2 57 0 57 13 0 9 -9 15 -25
	15 -14 0 -24 3 -24 8 1 4 1 84 0 178 l-1 172 -27 3 c-16 2 -59 3 -98 1z"/>
	<path d="M2016 553 c-15 -16 -2 -23 39 -23 57 0 63 24 6 27 -22 1 -42 -1 -45
	-4z"/>
	<path d="M2173 542 c-64 -24 -52 -35 32 -27 41 4 75 5 75 1 0 -13 -64 -37 -86
	-32 -24 6 -33 -7 -14 -19 20 -12 9 -25 -20 -25 -21 0 -30 -5 -30 -16 0 -13 7
	-15 43 -10 57 9 84 9 141 0 39 -5 48 -4 44 7 -3 8 -13 15 -24 17 -46 8 -48 13
	-11 39 20 14 37 34 37 45 0 20 1 20 -60 22 -25 1 -54 5 -65 8 -11 4 -39 -1
	-62 -10z"/>
	<path d="M2530 554 c-19 -5 -104 -140 -96 -152 3 -5 21 -7 40 -6 21 2 36 -1
	36 -8 0 -6 -18 -39 -40 -74 -22 -35 -40 -68 -40 -74 0 -6 32 -10 80 -10 64 0
	80 3 80 15 0 11 -11 15 -40 15 -22 0 -40 4 -40 8 0 5 18 34 40 65 22 30 40 63
	40 71 0 12 -10 16 -40 16 -49 0 -50 10 -5 75 41 60 37 73 -15 59z"/>
	<path d="M2625 551 c-15 -14 1 -21 50 -21 66 0 64 12 30 -182 -14 -78 -25
	-146 -25 -150 0 -5 -11 -8 -25 -8 -16 0 -25 -6 -25 -15 0 -23 96 -21 108 3 5
	9 22 92 38 185 25 142 32 167 46 167 16 0 18 -15 18 -170 l0 -170 -35 0 c-25
	0 -35 -4 -35 -15 0 -13 12 -15 68 -13 l67 3 3 193 c2 178 1 192 -15 193 -72 4
	-264 4 -268 0z"/>
	<path d="M3086 545 c-8 -8 -29 -15 -46 -15 -42 0 -35 -24 8 -28 l32 -3 0 -170
	0 -169 35 0 35 0 0 170 0 170 35 0 c24 0 35 5 35 15 0 10 -10 15 -34 15 -21 0
	-36 6 -40 15 -3 8 -14 15 -25 15 -11 0 -26 -7 -35 -15z"/>
	<path d="M1897 482 c-34 -85 -34 -92 3 -92 17 0 30 -2 30 -5 0 -3 -13 -32 -30
	-65 -44 -86 -42 -90 35 -90 51 0 65 3 65 15 0 10 -10 15 -30 15 -16 0 -30 3
	-30 6 0 3 14 35 31 70 32 69 31 84 -7 84 -30 0 -30 9 1 70 14 27 25 52 25 55
	0 3 -15 5 -33 5 -32 0 -35 -3 -60 -68z"/>
	<path d="M3258 368 c-3 -165 -5 -183 -20 -186 -17 -3 -18 9 -18 142 l0 146
	-25 0 -25 0 0 -142 c0 -79 4 -149 9 -156 5 -9 28 -12 77 -10 l69 3 3 183 2
	182 30 0 30 0 2 -182 3 -183 58 -3 c46 -2 57 0 57 13 0 8 -9 15 -20 15 -19 0
	-20 7 -20 164 0 90 -3 171 -6 180 -5 13 -24 16 -105 16 l-99 0 -2 -182z"/>
	<path d="M2010 476 c0 -8 5 -16 12 -18 8 -3 12 -43 12 -134 l1 -129 -82 -3
	c-65 -2 -83 -6 -83 -17 0 -12 19 -15 101 -15 55 0 110 5 121 11 14 8 23 8 31
	0 7 -7 56 -11 124 -11 94 0 113 3 113 15 0 13 -21 15 -130 15 l-130 0 0 150 0
	150 -45 0 c-32 0 -45 -4 -45 -14z"/>
	<path d="M1290 330 c0 -87 -4 -140 -10 -140 -5 0 -10 -7 -10 -16 0 -11 8 -14
	33 -12 l32 3 3 153 3 152 -26 0 -25 0 0 -140z"/>
	<path d="M3010 330 c0 -87 -4 -140 -10 -140 -5 0 -10 -7 -10 -15 0 -15 26 -20
	54 -9 14 5 16 28 16 155 l0 149 -25 0 -25 0 0 -140z"/>
	<path d="M2632 413 c-26 -120 -26 -123 -5 -123 16 0 22 11 31 53 25 122 25
	117 4 117 -16 0 -22 -10 -30 -47z"/>
	<path d="M2210 390 c0 -5 -18 -10 -40 -10 -29 0 -40 -4 -40 -15 0 -11 11 -15
	40 -15 29 0 40 -4 40 -15 0 -11 -11 -15 -40 -15 -29 0 -40 -4 -40 -15 0 -11
	11 -15 40 -15 29 0 40 -4 40 -15 0 -11 -11 -15 -40 -15 -29 0 -40 -4 -40 -15
	0 -11 11 -15 40 -15 22 0 40 -4 40 -10 0 -5 13 -10 29 -10 17 0 33 5 36 10 3
	5 24 10 45 10 31 0 38 3 34 15 -4 10 -20 15 -46 15 -54 0 -45 24 10 28 29 2
	42 8 42 18 0 10 -12 14 -45 14 -33 0 -45 4 -45 15 0 11 12 15 45 15 33 0 45 4
	45 15 0 11 -11 15 -40 15 -22 0 -40 5 -40 10 0 6 -16 10 -35 10 -19 0 -35 -4
	-35 -10z"/>
	<path d="M2430 175 c0 -12 16 -15 80 -15 64 0 80 3 80 15 0 12 -16 15 -80 15
	-64 0 -80 -3 -80 -15z"/>
	</g>
	</svg>
</template>

<script setup lang="ts" name="svgIcon">
import { computed } from 'vue';
import { storeToRefs } from 'pinia';
import { useThemeConfig } from '/@/stores/themeConfig';
const storesThemeConfig = useThemeConfig();
const { themeConfig } = storeToRefs(storesThemeConfig);
// 定义父组件传过来的值
const props = defineProps({
	// svg 图标组件名字
	name: {
		type: String,
	},
	// svg 大小
	size: {
		type: Number,
		default: () => 14,
	},
	// svg 颜色
	color: {
		type: String,
		default:'#000'
	},
});

// 在线链接、本地引入地址前缀
// https://gitee.com/lyt-top/vue-next-admin/issues/I62OVL
const linesString = ['https', 'http', '/src', '/assets', 'data:image', import.meta.env.VITE_PUBLIC_PATH];

// 获取 icon 图标名称
const getIconName = computed(() => {
	return props?.name;
});
// 用于判断 element plus 自带 svg 图标的显示、隐藏
const isShowIconSvg = computed(() => {
	return props?.name?.startsWith('ele-');
});
// 用于判断在线链接、本地引入等图标显示、隐藏
const isShowIconImg = computed(() => {
	return linesString.find((str) => props.name?.startsWith(str));
});
// 设置图标样式
const setIconSvgStyle = computed(() => {
	return `font-size: ${props.size}px;color: ${props.color};`;
});
// 设置图片样式
const setIconImgOutStyle = computed(() => {
	return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
});
// 设置图片样式
// https://gitee.com/lyt-top/vue-next-admin/issues/I59ND0
const setIconSvgInsStyle = computed(() => {
	const filterStyle: string[] = [];
	const compatibles: string[] = ['-webkit', '-ms', '-o', '-moz'];
	compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} 30px 0);`));
	return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join('')}`;
});
</script>
